{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import Libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import struct\n",
    "import os\n",
    "import time\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "from torch.utils.data import Dataset, DataLoader\n",
    "from sklearn.metrics import classification_report, confusion_matrix, accuracy_score\n",
    "os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n"
     ]
    }
   ],
   "source": [
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "print(torch.cuda.is_available())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Utils Function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "正在加载训练数据...\n",
      "训练图像形状: (60000, 28, 28)\n",
      "训练标签形状: (60000,)\n",
      "\n",
      "正在加载测试数据...\n",
      "测试图像形状: (10000, 28, 28)\n",
      "测试标签形状: (10000,)\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import struct\n",
    "import os\n",
    "\n",
    "\n",
    "def read_idx(filename):\n",
    "    \"\"\"\n",
    "    读取 IDX 文件 (MNIST 数据格式).\n",
    "    \"\"\"\n",
    "    with open(filename, 'rb') as f:\n",
    "        # 读取 Magic Number 和维度信息\n",
    "        # >ii 表示两个大端序(big-endian)的 4 字节整数\n",
    "        zero, data_type_code, num_dimensions = struct.unpack('>HBB', f.read(4))\n",
    "        # 根据数据类型代码确定 numpy 的 dtype\n",
    "        # 0x08: unsigned byte\n",
    "        if data_type_code == 0x08:\n",
    "            dtype = np.uint8\n",
    "        else:\n",
    "            # 可以根据需要添加对其他类型的支持\n",
    "            raise ValueError(f\"Unsupported data type code: {data_type_code}\")\n",
    "\n",
    "        # 读取每个维度的大小\n",
    "        # '>' + 'I' * num_dimensions 表示读取 num_dimensions 个大端序的 4 字节无符号整数\n",
    "        dimension_sizes = struct.unpack(\n",
    "            '>' + 'I' * num_dimensions, f.read(4 * num_dimensions))\n",
    "\n",
    "        # 计算数据总大小\n",
    "        total_size = np.prod(dimension_sizes)\n",
    "\n",
    "        # 读取数据部分\n",
    "        data = np.frombuffer(f.read(total_size), dtype=dtype)\n",
    "\n",
    "        # 将数据重塑为正确的维度\n",
    "        data = data.reshape(dimension_sizes)\n",
    "\n",
    "        return data\n",
    "\n",
    "\n",
    "data_dir = r'./data/'  # 使用原始字符串避免转义问题\n",
    "\n",
    "# 检查路径是否存在\n",
    "if not os.path.isdir(data_dir):\n",
    "    print(f\"错误：目录不存在 - {data_dir}\")\n",
    "else:\n",
    "    try:\n",
    "        # --- 加载训练数据 ---\n",
    "        train_images_path = os.path.join(data_dir, 'train-images.idx3-ubyte')\n",
    "        train_labels_path = os.path.join(data_dir, 'train-labels.idx1-ubyte')\n",
    "\n",
    "        print(\"正在加载训练数据...\")\n",
    "        X_train = read_idx(train_images_path)\n",
    "        y_train = read_idx(train_labels_path)\n",
    "        print(f\"训练图像形状: {X_train.shape}\")  # 应该是 (60000, 28, 28)\n",
    "        print(f\"训练标签形状: {y_train.shape}\")  # 应该是 (60000,)\n",
    "\n",
    "        # --- 加载测试数据 ---\n",
    "        test_images_path = os.path.join(data_dir, 't10k-images.idx3-ubyte')\n",
    "        test_labels_path = os.path.join(data_dir, 't10k-labels.idx1-ubyte')\n",
    "\n",
    "        print(\"\\n正在加载测试数据...\")\n",
    "        X_test = read_idx(test_images_path)\n",
    "        y_test = read_idx(test_labels_path)\n",
    "        print(f\"测试图像形状: {X_test.shape}\")   # 应该是 (10000, 28, 28)\n",
    "        print(f\"测试标签形状: {y_test.shape}\")   # 应该是 (10000,)\n",
    "    except FileNotFoundError as e:\n",
    "        print(f\"错误：文件未找到 - {e}\")\n",
    "    except Exception as e:\n",
    "        print(f\"发生错误: {e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Build Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\Python\\CondaEnvs\\Pytorch\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training on cuda\n",
      "Epoch [1/5], Step [100/469], Loss: 0.2215\n",
      "Epoch [1/5], Step [200/469], Loss: 0.0610\n",
      "Epoch [1/5], Step [300/469], Loss: 0.1515\n",
      "Epoch [1/5], Step [400/469], Loss: 0.1576\n",
      "Epoch [1/5], Loss: 0.2431, Test Accuracy: 97.57%, Time: 2.65s\n",
      "Epoch [2/5], Step [100/469], Loss: 0.0354\n",
      "Epoch [2/5], Step [200/469], Loss: 0.0356\n",
      "Epoch [2/5], Step [300/469], Loss: 0.0513\n",
      "Epoch [2/5], Step [400/469], Loss: 0.0117\n",
      "Epoch [2/5], Loss: 0.0604, Test Accuracy: 98.68%, Time: 1.73s\n",
      "Epoch [3/5], Step [100/469], Loss: 0.0448\n",
      "Epoch [3/5], Step [200/469], Loss: 0.0298\n",
      "Epoch [3/5], Step [300/469], Loss: 0.0469\n",
      "Epoch [3/5], Step [400/469], Loss: 0.0294\n",
      "Epoch [3/5], Loss: 0.0431, Test Accuracy: 98.85%, Time: 1.70s\n",
      "Epoch [4/5], Step [100/469], Loss: 0.0244\n",
      "Epoch [4/5], Step [200/469], Loss: 0.0231\n",
      "Epoch [4/5], Step [300/469], Loss: 0.0191\n",
      "Epoch [4/5], Step [400/469], Loss: 0.0195\n",
      "Epoch [4/5], Loss: 0.0334, Test Accuracy: 99.03%, Time: 1.70s\n",
      "Epoch [5/5], Step [100/469], Loss: 0.0277\n",
      "Epoch [5/5], Step [200/469], Loss: 0.0333\n",
      "Epoch [5/5], Step [300/469], Loss: 0.0061\n",
      "Epoch [5/5], Step [400/469], Loss: 0.0447\n",
      "Epoch [5/5], Loss: 0.0259, Test Accuracy: 99.13%, Time: 1.69s\n",
      "Training complete!\n"
     ]
    },
    {
     "data": {
      "image/png": "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tbrssstCblNSUtKr/Zo1azRlyhTFxMQMW6yhDCT+UEpLS5WVlTXU4Q0LO/X/UAln/xtjdMcdd+jll1/W66+/rvz8/E/dxk7nYCDxh2Knz4AxRq2trSHX2anvT+V08YcSrr6fMWOGtm/frq1btwZeU6ZM0ezZs7V161ZFRUX12iYS+h+hke+72Oln3enYqe+HCrl+4Mj19vv+j5RcL9k83w/po/POQkuXLjUxMTFmyZIlZseOHeauu+4ybrfb7Nu3zxhjzP33329uueWWQPuPP/7YxMfHm7vvvtvs2LHDLFmyxMTExJiXXnopIuJ/6qmnzIoVK8yePXvMBx98YO6//34jySxfvjws8ft8PlNaWmpKS0uNJPPkk0+a0tJS88knn4SM327939/47db/t99+u0lKSjLr1683R44cCbyampoCbex8DgYSv53OwQMPPGA2btxo9u7da7Zt22YefPBB43A4zJo1a0LGbqe+H0j8dur7UE5+iq3d+x/9Q74P3+eNXE+uH+n47XQOyPX2yvXG2CffU8gPgd///vdmzJgxJjY21lx00UVB01nMmTPHXHnllUHt169fbyZPnmxiY2PNueeeaxYtWjTCEQfrT/y//OUvzbhx44zL5TLJyclm+vTpZtWqVWGIukvPFBUnv+bMmWOMsX//9zd+u/V/qNglmWeffTbQxs7nYCDx2+kc3HrrrYHP7ujRo82MGTMCidEYe/e9Mf2P3059H8rJid3u/Y/+I9+H5/NGrifXDwa5nlw/1OyS7y1juu+8BwAAAAAAtsc98gAAAAAARBAKeQAAAAAAIgiFPAAAAAAAEYRCHgAAAACACEIhDwAAAABABKGQBwAAAAAgglDIAwAAAAAQQSjkAQAAAACIIBTyAGzJsiy98sor4Q4DAAAME3I9MHAU8gB6+eY3vynLsnq9Zs6cGe7QAADAECDXA5EtOtwBALCnmTNn6tlnnw1a5nQ6wxQNAAAYauR6IHIxIg8gJKfTqczMzKBXcnKypK5L4RYtWqTrrrtOcXFxys/P17Jly4K23759u66++mrFxcUpNTVVt912m/x+f1CbZ555RhdccIGcTqeysrJ0xx13BK2vrq7Wl7/8ZcXHx6uwsFArV64c3oMGAOAsQq4HIheFPIABefjhhzVr1iz95z//0de//nXddNNN2rlzpySpqalJM2fOVHJyst577z0tW7ZM//znP4OS96JFizRv3jzddttt2r59u1auXKmCgoKgr/HYY4/pxhtv1LZt23T99ddr9uzZqq2tHdHjBADgbEWuB2zMAMBJ5syZY6Kioozb7Q56/fjHPzbGGCPJzJ07N2ibSy65xNx+++3GGGMWL15skpOTjd/vD6xftWqVcTgcpqKiwhhjTHZ2tnnooYdOGYMk88Mf/jDw3u/3G8uyzOrVq4fsOAEAOFuR64HIxj3yAEK66qqrtGjRoqBlKSkpgf+XlJQErSspKdHWrVslSTt37tSkSZPkdrsD66dNm6bOzk7t3r1blmXp8OHDmjFjxmljmDhxYuD/brdbHo9HXq93oIcEAABOQK4HIheFPICQ3G53r8vfPo1lWZIkY0zg/6HaxMXF9Wl/MTExvbbt7OzsV0wAACA0cj0QubhHHsCAvP32273ejx8/XpI0YcIEbd26VY2NjYH1b775phwOh8477zx5PB6de+65+te//jWiMQMAgL4j1wP2xYg8gJBaW1tVUVERtCw6OlppaWmSpGXLlmnKlCmaPn26XnjhBb377rtasmSJJGn27Nl65JFHNGfOHD366KOqqqrS/PnzdcsttygjI0OS9Oijj2ru3LlKT0/XddddJ5/PpzfffFPz588f2QMFAOAsRa4HIheFPICQ/vGPfygrKytoWVFRkXbt2iWp6ymzS5cu1fe+9z1lZmbqhRde0IQJEyRJ8fHxeu2117RgwQJdfPHFio+P16xZs/Tkk08G9jVnzhy1tLToqaee0ve//32lpaXpq1/96sgdIAAAZzlyPRC5LGOMCXcQACKLZVlasWKFbrjhhnCHAgAAhgG5HrA37pEHAAAAACCCUMgDAAAAABBBuLQeAAAAAIAIwog8AAAAAAARhEIeAAAAAIAIQiEPAAAAAEAEoZAHAAAAACCCUMgDAAAAABBBKOQBAAAAAIggFPIAAAAAAEQQCnkAAAAAACLI/wfAkfGGebB/LwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Classification Report:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      1.00      1.00       980\n",
      "           1       0.99      1.00      0.99      1135\n",
      "           2       0.99      0.99      0.99      1032\n",
      "           3       1.00      0.99      0.99      1010\n",
      "           4       0.98      1.00      0.99       982\n",
      "           5       0.98      1.00      0.99       892\n",
      "           6       0.99      0.99      0.99       958\n",
      "           7       0.99      0.99      0.99      1028\n",
      "           8       0.99      0.99      0.99       974\n",
      "           9       0.99      0.98      0.98      1009\n",
      "\n",
      "    accuracy                           0.99     10000\n",
      "   macro avg       0.99      0.99      0.99     10000\n",
      "weighted avg       0.99      0.99      0.99     10000\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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a9as0WOPPZZh8VLxAAAAANKxmLilpKTowoULdltKSspt4/z6669VvXp1tWvXTgUKFFBYWJimTZtm23/kyBHFxsaqSZMmtjZPT0/Vq1dPGzdulCRt27ZNV69etesTFBSkihUr2vpkFAYeAAAAQCYRFRUlPz8/uy0qKuq2fQ8fPqxJkyYpODhY33//vXr16qVXXnlFn332mSQpNjZWkhQQEGD3uoCAANu+2NhYeXh4KE+ePHfsk1GYagUAAABkEpGRkerfv79dm6en5237Xr9+XdWrV9eIESMkSWFhYdq9e7cmTZqkZ5/9+2Go/1w7YrVa/3U9yb30uV9UPAAAAIB0slkspm2enp7y9fW12+408ChYsKDKly9v11auXDkdP35ckhQYGChJt1Qu4uLibFWQwMBApaamKiEh4Y59MgoDDwAAACALql27tvbv32/XduDAARUrVkySVKJECQUGBmr16tW2/ampqVq/fr1q1aolSapWrZrc3d3t+sTExGjXrl22PhmFqVYAAABAOhk8w8gw/fr1U61atTRixAi1b99eW7Zs0dSpUzV16lRJN6ZYRUREaMSIEQoODlZwcLBGjBghb29vde7cWZLk5+enHj166LXXXpO/v7/y5s2r119/XZUqVbLd5SqjMPAAAAAAsqAaNWpo6dKlioyM1JAhQ1SiRAmNHTtWTz/9tK3PgAEDlJycrN69eyshIUE1a9bUqlWrlCtXLlufjz76SNmzZ1f79u2VnJyshg0batasWXJzc8vQeC1Wq9V6vy+aM2eOJk+erCNHjmjTpk0qVqyYxo4dqxIlSqhly5YZGuCDuHLN7AgAGMW/48x/7+SEzi7sbnYIAJChvDLxn797Lt5l2ntPa1/RtPc22n2v8Zg0aZL69++vJ554QufPn7c90TB37twaO3ZsRscHAAAAOFRWeXJ5VnPfA49x48Zp2rRpGjhwoF35pXr16tq5c2eGBgcAAADAOdx3kevIkSMKCwu7pd3T01OXL1/OkKAAAAAAszh54cE0913xKFGihHbs2HFL+4oVK265jzAAAAAASA9Q8XjjjTfUp08fXblyRVarVVu2bNGCBQsUFRWlTz/91IgYAQAAAGRx9z3w6N69u65du6YBAwYoKSlJnTt3VqFChfTxxx+rY8eORsQIAAAAOEw25loZ4oFuZNazZ0/17NlT8fHxun79ugoUKJDRcQEAAABwIv/pDsr58uXLqDgAAACATIGChzHue+BRokSJu95j+PDhw/8pIAAAAADO574HHhEREXZfX716Vdu3b9fKlSv1xhtvZFRcAAAAgCmc/UF+Zrnvgcerr7562/YJEyZo69at/zkgAAAAAM7nvp/jcSdNmzbVkiVLMupwAAAAAJzIf1pcnt4XX3yhvHnzZtThAOC2zi7sbnYIpijVd6nZIZjiz3GtzQ4BgAvKsL/Mw859DzzCwsLs5r1ZrVbFxsbqzJkzmjhxYoYGBwAAAMA53PfAo1WrVnZfZ8uWTfnz51f9+vVVtmzZjIoLAAAAMAWLy41xXwOPa9euqXjx4nrssccUGBhoVEwAAAAAnMx9TWHLnj27XnrpJaWkpBgVDwAAAAAndN9rZ2rWrKnt27cbEQsAAABgumwW8zZndt9rPHr37q3XXntNJ06cULVq1eTj42O3v3LlyhkWHAAAAADncM8Dj+eee05jx45Vhw4dJEmvvPKKbZ/FYpHVapXFYlFaWlrGRwkAAAA4iLNXHsxyzwOP2bNna+TIkTpy5IiR8QAAAABwQvc88LBarZKkYsWKGRYMAAAAYDZup2uM+1pczkkAAAAA8CDua3F5mTJl/nXwce7cuf8UEAAAAADnc18Dj8GDB8vPz8+oWAAAAADTsbjcGPc18OjYsaMKFChgVCwAAAAAnNQ9DzxY3wEAAABXwK+9xrjnxeU372oFAAAAAPfrnise169fNzIOAAAAAE7svtZ4AAAAAM4uG3OtDHFfz/EAAAAAgAdBxQMAAABIh7/MG4PvKwAAAADDUfEAAAAA0mGJhzGoeAAAAAAwHAMPAAAAAIZjqhUAAACQDrfTNQYVjwywbWu0+vbupUb16yi0QojWrV1jdkgOtWjBPDVt0kA1wiqpY7s2+m3bVrNDcghXy3v6tCnq3L6twmuEqX7dcEX07a2jRw6bHZbDONP5dstm0YAW5bRpaBMd+riFNg5toognQuzmNHt7umlYh8raOuJxHfq4hX58r5GefaSE3XHy+3rqk27VtH1kUx0c21wrIx9Vs7AgB2eTsfh57jzX+f0gb9fKG+Zh4JEBkpOTFBISorcGvmd2KA63csVyjR4ZpZ4vvKRFXyxT1arV1PvFnoo5dcrs0Azlinlvjd6iDp2e1pwFizVl2kxdS0tTr549lJSUZHZohnO2892nSbC61C2hdxb9rvqD12j4l7v0UuNgPVe/lK3P+09VVv3yAeo7c6vqD16jaesOaWj7ympSuaCtzyfdqqtkQE51n7RZDYet1YodpzTp+YdUobCfGWllCH6eO891fq/I27XyvlcWi3mbM2PgkQHq1K2nl1/tp0aNm5gdisPNmT1Trdu2VZun2qlkqVIaEDlQgQUDtXjRArNDM5Qr5j1p6nS1bN1GpUsHK6RsWQ0ZFqWYmFPau2e32aEZztnOd7WS/vr+9xit3XVaJ84l6bvtp7R+b5xCi+VO1yevvth8XJsOxuvEuSTN23BUe04m2vcpkVczfzisHccSdDw+SR+v2K8LSVdVqWjuW94zq+DnufNc5/eKvF0rb5iLgQce2NXUVO3ds1vhterYtYfXqq3fd2w3KSrjuWre/3Tp4kVJkq9f1v3r9r1wxvO95dBZ1SmbXyUL5JQklS/kq4dK+WvtrtO2PtGHzqpx5YIK9POSJNUqk08lC+TUj3vi/j7On2fVonph5fZ2l8UitaheSB7Zs2nTgXjHJoT/zBmv83tB3q6VN8zH4nI8sITzCUpLS5O/v79du79/PsXHnzEpKuO5at7pWa1W/W90lMKqVlNwcBmzwzGUM57vCasOKFeO7Fo/qJHSrFa5WSwa9fUefbX1hK3Pu4t/1wfPVNW2kU11Ne26rl+36o252xX951lbn5c+3aJJzz+k3R8+qatp15WcmqYeUzbrWPxlM9LCf+CM1/m9IG/Xyvt+ZHPyKU9myVQDj4SEBM2ePVsHDx5UwYIF1bVrVxUpUuSur0lJSVFKSopdm9XNU56enkaGinQs/5iQaLVab2lzRq6atyRFDRuigwcOaNac+WaH4jDOdL5bVC+ktg8VUZ+Z0Tpw6qIqFPbT4HaVdTrxij7ffFyS9NyjpVS1RB51m7hJJ84lqWbpfBrRKVRxF67o5303fjEZ0KK8/Lzd1WHsBp27lKLHqgRpSs+H1ObDn7Xv1AUzU8QDcqbr/H6Q9w2ukjfMY+pUq6CgIJ09e+OvZ0eOHFH58uU1atQoHTx4UFOmTFGlSpW0b9++ux4jKipKfn5+dtsHo6IcEb7Ly5M7j9zc3BQfbz+t4ty5s/L3z2dSVMZz1bxviho+VD/+uE7TZs5WQGCg2eEYzhnP97utK2r8qgP6eutJ7Tt1QUu2/KVp6w7p5cduVK+83LPprZYVNPiLnVq9M1Z7T17QrPWH9fW2k3qxUbAkqVg+Hz33aCm9Nuc3bdh/RntOXtBH3+3TH8fPq1u9kmamhwfgjNf5vSBv18r7fmSzWEzbnJmpA4/Y2FilpaVJkt5++22VLVtWf/75p1atWqVDhw6pbt26evfdd+96jMjISCUmJtptb7wZ6YjwXZ67h4fKla+gzRt/sWvfvHGjQquEmRSV8Vw1b6vVqhHDhmjtmlWaNmO2Che+ezXSWTjj+c7hkV1Wq31b2nWr7R+87G7Z5JE9m67/o8/161bb9IMcHm432m5zHCf/d9MpOeN1fi/I27XyhvkyzVSrX3/9VZ9++qm8vb0lSZ6ennrnnXf01FNP3fV1np63Tqu6cs2wMG8r6fJlHT9+3Pb1yRMntG/vXvn5+algUNa+p/2/6dK1uwa+NUDlK1ZUaGiYlny+SDExMWrXoaPZoRnKFfMeMXSwViz/VmPHTZSPt4/iz9yYbpMzVy55eXmZHJ2xnO18r94Zo1ceD9HJc0naf+qiKhbx0wsNS2vhxmOSpEtXrmnjgTN6p01FXUlN04lzSQoPzqe2NYtqyJKdkqRDsRd1JO6SRnWuoqFLdinhcqoeDy2oR8oWUNeJm8xM7z/h57nzXOf3irxdK+97xR9QjGGxWv/5dy/HyZYtm06fPq38+fOrUKFCWrVqlSpUqGDbf/ToUZUtW1ZXrly5r+M6euARveVXPd/92VvaW7RsraEjRjo2GBMsWjBPs2ZM15kzcSodXEZvvBmpatVrmB2W4Vwt79AKIbdtHzIsSi1bt3FwNI5n9vku1Xdphh3LxzO7BrQop8dDg+Sfy1OnE5P11dYT+ui7fbqaduOfhPy+nopsWUGPlC+g3N4eOvn/t9SduvaQ7Tgl8vsosnUFPVTKXz6e2XX0zGVNXn1QS7b8lWGx/jmudYYd617w89y1fq7dRN7m5O2Vaf78fauhaw79eyeDvNuotGnvbTTTBx4VK1ZU9uzZdfDgQX322Wdq3frvf2R++uknde7cWSdOnLjLUW7l6IEHABgtIwceWYmjBx4AHIeBx+0588DD1FM+aNAgu69vTrO66ZtvvlHdunUdGRIAAABcHLfTNUamGnj80wcffOCgSAAAAAAYKRMXuQAAAADHs4iShxFMvZ0uAAAAANfAwAMAAACA4ZhqBQAAAKTD4nJjUPEAAAAAYDgqHgAAAEA6VDyMQcUDAAAAgOGoeAAAAADpWCyUPIxAxQMAAACA4Rh4AAAAADAcU60AAACAdFhcbgwqHgAAAAAMR8UDAAAASIe15cag4gEAAADAcAw8AAAAABiOqVYAAABAOtmYa2UIKh4AAAAADEfFAwAAAEiH2+kag4oHAAAAAMNR8QAAAADSYYmHMah4AAAAADAcAw8AAAAAhmOqFQAAAJBONjHXyggMPAAgC/hzXGuzQzBFYNe5ZodgitjZz5gdAgBkOAYeAAAAQDosLjcGazwAAAAAGI6BBwAAAADDMdUKAAAASIcnlxuDigcAAAAAw1HxAAAAANLJxupyQ1DxAAAAAGA4Bh4AAAAADMdUKwAAACAdZloZg4oHAAAAAMNR8QAAAADSYXG5Mah4AAAAADAcFQ8AAAAgHQoexqDiAQAAAMBwDDwAAAAAGI6pVgAAAEA6/GXeGHxfAQAAABiOigcAAACQjoXV5Yag4gEAAADAcAw8AAAAABiOqVYAAABAOky0MgYVDwAAAACGo+IBAAAApJONxeWGoOIBAAAAwHAMPAAAAIB0LCZuDyoqKkoWi0URERG2NqvVqvfff19BQUHKkSOH6tevr927d9u9LiUlRX379lW+fPnk4+OjFi1a6MSJE/8hkjtj4JEBpk+bos7t2yq8Rpjq1w1XRN/eOnrksNlhGc5V875p0YJ5atqkgWqEVVLHdm3027atZofkEK6W9+KF8/VU6+aq9VBV1Xqoqrp07qANP683OyzDOevnO6dXdkU9U007P26lmJkd9f2gxxRW0v+2fT96rqbOz3tGLz1e1q69gJ+XprxUS/sntNXJ6R21ftgTavFQUUeEbzhX+3xv2xqtvr17qVH9OgqtEKJ1a9eYHZJDudr5dmbR0dGaOnWqKleubNc+evRojRkzRuPHj1d0dLQCAwPVuHFjXbx40dYnIiJCS5cu1cKFC7VhwwZdunRJTz75pNLS0jI8TgYeGWBr9BZ16PS05ixYrCnTZupaWpp69eyhpKQks0MzlKvmLUkrVyzX6JFR6vnCS1r0xTJVrVpNvV/sqZhTp8wOzVCumHeBgEC92u91zV+8RPMXL9FDNR/Wqy/30aFDB80OzVDO+vn+pOfDql+poF6ctFG13vpWP+yM0bLIhiqYJ4ddv2bVCqt6aX+dOndrvlNeqq3SBX3V6cMfVeutb/XN1uOa2beOKhfL46g0DOGKn+/k5CSFhITorYHvmR2Kw7ni+XZWly5d0tNPP61p06YpT56/fw5ZrVaNHTtWAwcOVJs2bVSxYkXNnj1bSUlJmj9/viQpMTFR06dP14cffqhGjRopLCxMc+fO1c6dO7VmTcYPxBl4ZIBJU6erZes2Kl06WCFly2rIsCjFxJzS3j27//3FWZir5i1Jc2bPVOu2bdXmqXYqWaqUBkQOVGDBQC1etMDs0AzlinnXf7SB6j5ST8WLl1Dx4iXU99V+8vb21h+/7zA7NEM54+fby91NLWoU1aAF27VxX5yOnL6kkV/+oeNnLum5RmVs/QrmyaHR3Wqo54RfdC3t+i3HqRGcT1NX7ddvh8/q2JlL+t+yXUq8fFWhxfM6Mp0M54qf7zp16+nlV/upUeMmZoficK54vu+HxWLelpKSogsXLthtKSkpd4y1T58+atasmRo1amTXfuTIEcXGxqpJk7+vb09PT9WrV08bN26UJG3btk1Xr1616xMUFKSKFSva+mQkBh4GuPT/5StfPz+TI3EsV8n7amqq9u7ZrfBadezaw2vV1u87tpsUlfFcNe/00tLStGL5d0pOTlJoaJjZ4TiUM3y+s7tZlN0tm65ctZ8+kJyapvAyBSTd+Ed/yku1Ne7bPdp3MvG2x9m8/4xaP1xMuX08ZLFIbR4uJg/3bPp572nDczAKn2/XwvnO3KKiouTn52e3RUVF3bbvwoUL9dtvv912f2xsrCQpICDArj0gIMC2LzY2Vh4eHnaVkn/2yUim3k53+/btyp07t0qUKCFJmjt3riZNmqTjx4+rWLFievnll9WxY8e7HiMlJeWWUaDVzVOenp6GxX03VqtV/xsdpbCq1RQcXObfX+AkXCnvhPMJSktLk7+//bxwf/98io8/Y1JUxnPVvCXp4IH96tK5o1JTU+Tt7a2PPpmgUqVLmx2WwzjL5/vSlWv69cAZDWhVSQdOJiou8YqeqlVc1Uvl05+xNwZWEc0r6Nr165r8/f47Hue5cT9rRt+6Ojq1va5eu66k1Gt65qP1Ohp3yVGpZDhX/ny7Is73v7OYeDvdyMhI9e/f367tdr/X/vXXX3r11Ve1atUqeXl53fF4/8zFarX+a3730udBmFrx6NGjh44ePSpJ+vTTT/XCCy+oevXqGjhwoGrUqKGePXtqxowZdz3G7UaFH4y6/ajQEaKGDdHBAwc06oMxpsVgBlfM+0E+yM7AFfMuXryEFi9ZpjnzF6ldh0569+039eehQ2aH5TDO9Pl+cdIvslikfRPaKm52J734WIg+33hUadbrCi2eV70eK6vekzfd9RjvtAtVbh8PtRixRo++u1wTV+zV7FceUfkiuR2ThIFc8fPtyjjfmZOnp6d8fX3tttsNPLZt26a4uDhVq1ZN2bNnV/bs2bV+/Xp98sknyp49u63S8c/KRVxcnG1fYGCgUlNTlZCQcMc+GcnUisf+/ftVqlQpSdLEiRM1duxYvfDCC7b9NWrU0PDhw/Xcc8/d8Ri3GxVa3cypdkQNH6off1ynGbPnKiAw0JQYzOBqeefJnUdubm6Kj4+3az937qz8/fOZFJXxXDVvSXL38FDRYsUkSRUqVtLuXTs1b+5neu/9ISZHZjxn+3wfjbukZsNWy9vTTblyeOj0+WTN6FtHx+Iuq1bZAsrv66Vdn7S29c/ulk3Dnq6qlx4vq8oRy1S8QE698FhZPTzgG9tUrF3Hzys8pICeb1xG/WdsMSu1/8SVP9+uiPPtHBo2bKidO3fatXXv3l1ly5bVm2++qZIlSyowMFCrV69WWNiN6cGpqalav369Ro0aJUmqVq2a3N3dtXr1arVv316SFBMTo127dmn06NEZHrOpA48cOXLozJkzKlq0qE6ePKmaNWva7a9Zs6aOHDly12N4et46rerKtQwP9a6sVquihg/VurWrNX3WHBUuXMSxAZjEVfN29/BQufIVtHnjL2rYqLGtffPGjarfoKGJkRnLVfO+HavVqqupqWaHYShn/3wnpaQpKSVZft4ealgpSO8t+E1fRx/Xj7ti7PotebOhFm04rHk/3biVsLfnjX82r1utdv3Srluz9JOO+Xy7Fs73v8sKi6Bz5cqlihUr2rX5+PjI39/f1h4REaERI0YoODhYwcHBGjFihLy9vdW5c2dJkp+fn3r06KHXXntN/v7+yps3r15//XVVqlTplsXqGcHUgUfTpk01adIkffrpp6pXr56++OILhYaG2vYvXrxYpbPAPOoRQwdrxfJvNXbcRPl4+yj+zI35kTlz5brrnLuszlXzlqQuXbtr4FsDVL5iRYWGhmnJ54sUExOjdh3uviYpq3PFvD8ZO0Z16j6igMBAJV2+rJUrlmtr9BZNnPKp2aEZylk/3w0qFZTFIh2KuaASAbk0tHNVHYy5oHk//alraVYlXLIfUF5Lu664xCs6FHNBknTgVKL+jL2gsT1q6p15v+ncpRQ9Wb2IHq1YUB3+94MZKWUYV/x8J12+rOPHj9u+PnnihPbt3Ss/Pz8VDAoyMTLjueL5dkUDBgxQcnKyevfurYSEBNWsWVOrVq1Srly5bH0++ugjZc+eXe3bt1dycrIaNmyoWbNmyc3NLcPjsVit//izjQOdOnVKtWvXVtGiRVW9enVNmjRJ1apVU7ly5bR//35t3rxZS5cu1RNPPHFfx3V0xSO0Qsht24cMi1LL1m0cG4wDuWreNy1aME+zZkzXmTNxKh1cRm+8Galq1WuYHZbhXC3vQe++rS2bN+vMmTjlzJVLZcqEqHuPngqvVdvs0AyVWT7fgV3nZujxWtUsqkEdwhSU11sJl1L1dfRxDVu8QxeSr962/x9jW2nSyn2atHKfra1kQC693zFMD4fkl4+nu46cvqhxy/do0Ya7V+jvR+zsZzLsWPfD1T7f0Vt+1fPdn72lvUXL1ho6YqQJETmW2efby9Q/f9/d4h3mPc+kfRXnHfSaOvCQpPPnz2vkyJH65ptvdPjwYV2/fl0FCxZU7dq11a9fP1WvXv2+j+nogQcAwBgZPfDIKswaeACOxMDj9hh4ZDEMPADAOTDwAJxXZh54fG7iwKOdEw88ssLaGQAAAABZHAMPAAAAAIbLxEUuAAAAwPF4kKIxqHgAAAAAMBwVDwAAACAd/jJvDL6vAAAAAAzHwAMAAACA4ZhqBQAAAKTD4nJjUPEAAAAAYDgqHgAAAEA61DuMQcUDAAAAgOGoeAAAAADpsMTDGFQ8AAAAABiOgQcAAAAAwzHVCgAAAEgnG8vLDUHFAwAAAIDhqHgAAAAA6bC43BhUPAAAAAAYjoEHAAAAAMMx1QoAAABIx8LickNQ8QAAAABgOCoeAAAAQDosLjcGFQ8AAAAAhqPiAQAAAKTDAwSNwcADAJBpxc5+xuwQTJGn5Sdmh2CKhK9eMTsEAAZiqhUAAAAAw1HxAAAAANJhcbkxqHgAAAAAMBwVDwAAACAdKh7GoOIBAAAAwHAMPAAAAAAYjqlWAAAAQDoWnuNhCCoeAAAAAAxHxQMAAABIJxsFD0NQ8QAAAABgOCoeAAAAQDqs8TAGFQ8AAAAAhmPgAQAAAMBwTLUCAAAA0uHJ5cag4gEAAADAcFQ8AAAAgHRYXG4MKh4AAAAADMfAAwAAAIDhmGoFAAAApMOTy41BxQMAAACA4ah4AAAAAOmwuNwYVDwAAAAAGI6BBwAAAADDMdUKAAAASIcnlxuDikcGWrRgnpo2aaAaYZXUsV0b/bZtq9khGWr6tCnq3L6twmuEqX7dcEX07a2jRw6bHZbDTZ82RaEVQjQ6arjZoTiEq13nN5E3eWcVtSsE6Yv3muvwZ88p+btX1Pzhkrf0Gdi5pg5/9pzOfdlb30e1Ubmiee32P/d4BX0f1UanP++l5O9ekZ+Pxy3HKB2UW4vffVJ/ze+p05/30roPntIjlQsblpcRtm2NVt/evdSofh2FVgjRurVrzA7JIRYvnK+nWjdXrYeqqtZDVdWlcwdt+Hm92WHBBTDwyCArVyzX6JFR6vnCS1r0xTJVrVpNvV/sqZhTp8wOzTBbo7eoQ6enNWfBYk2ZNlPX0tLUq2cPJSUlmR2aw+za+Ye++HyRypQJMTsUh3DF61wib/LOWnn7eLlr55Ez6jf59r9IvvZUNb3SOkz9Jq9XnX4LdTohSd8Na6WcOdxtfbw93bX6t2P6YHH0Hd9n6fstlN3NoqZvf6lary7Q74fj9eWg5grI453hORklOTlJISEhemvge2aH4lAFAgL1ar/XNX/xEs1fvEQP1XxYr77cR4cOHTQ7tEzDYuLmzBh4ZJA5s2eqddu2avNUO5UsVUoDIgcqsGCgFi9aYHZohpk0dbpatm6j0qWDFVK2rIYMi1JMzCnt3bPb7NAcIunyZUW++YYGDR4mXz8/s8NxCFe8ziXyJu+slfeqbcc0eM5mfbXxz9vu79OyikYvitZXG//UnmPn9PyY1crh6a4O9f7+A8r4r3bof59v06/7Ym97DH9fL5UulFsffr5Nu46e1Z+nEvXurF/k4+V+S/UkM6tTt55efrWfGjVuYnYoDlX/0Qaq+0g9FS9eQsWLl1DfV/vJ29tbf/y+w+zQ4OQYeGSAq6mp2rtnt8Jr1bFrD69VW7/v2G5SVI536eJFSXKZX8JHDBuiRx6pp4fDa5kdikO46nVO3uQtOU/exQN9VTCvj9b8dtzWlnotTT/vOqmHyxW85+OcvXBFe4+fU+cGZeXtmV1u2Sx6vmlFxSZc1vZDcUaEDoOkpaVpxfLvlJycpNDQMLPDyTSyWSymbc6MxeUZIOF8gtLS0uTv72/X7u+fT/HxZ0yKyrGsVqv+NzpKYVWrKTi4jNnhGG7F8u+0d+8ezV/0hdmhOIyrXufkTd6S8+Qd+P/ToOLO20+JjTufpKL5c93XsZ58Z6kWv/ukznzxkq5brYpLSFLL975S4uXUDIsXxjl4YL+6dO6o1NQUeXt766NPJqhU6dJmhwUnZ2rFo2/fvvr555//0zFSUlJ04cIFuy0lJSWDIrw/ln+MUq1W6y1tzipq2BAdPHBAoz4YY3YohouNidHokcM1YuQH8vT0NDsch3PV65y8byBv52C1Wu2+tkiy3r7rHY3t/ajOnE9WowFfqG6/Rfrm18P6clAL2+AGmVvx4iW0eMkyzZm/SO06dNK7b7+pPw8dMjssODlTBx4TJkxQ/fr1VaZMGY0aNUqxsbefS3o3UVFR8vPzs9s+GBVlQLR3lid3Hrm5uSk+Pt6u/dy5s/L3z+fQWMwQNXyofvxxnabNnK2AwECzwzHcnj27de7sWXVq30ZVK5dX1crltTV6i+bPm6OqlcsrLS3N7BAN4arXOXmTt+Q8eccm3Kh0BOTxsWvPn9tbcQn3fmOQ+qGF9USN4np21Ept2hujHX+eUcTEH5Wcck3PNCqXoTHDGO4eHiparJgqVKykV/u9pjIhZTVv7mdmh5VpsLjcGKav8Vi1apWeeOIJ/e9//1PRokXVsmVLffvtt7p+/fo9vT4yMlKJiYl22xtvRhoctT13Dw+VK19Bmzf+Yte+eeNGhVZx3vmSVqtVI4YN0do1qzRtxmwVLlzE7JAcoubDD+uLZd9o0ZJltq1ChYp64snmWrRkmdzc3MwO0RCuep2TN3lLzpP30dgLijl3WQ3D/v557Z49m+pWLKTNe2Pu+TjenjfugHX9H5WT605WGXIlVqtVV1OZJgdjmb7Go1KlSmrYsKE++OADLV26VDNmzFCrVq0UEBCgbt26qXv37ip9lzmHnp6et0x3uXLN6Khv1aVrdw18a4DKV6yo0NAwLfl8kWJiYtSuQ0fHB+MgI4YO1orl32rsuIny8fZR/Jkb859z5solLy8vk6Mzjo9PzlvWseTw9lZuv9xOv77FFa9zibzJO2vl7ePlrlJBf9/ko3igryqXzKeEi1f015lLmvDVDr3RvoYOnTqvQ6fOa0D7GkpOuapF6/fbXhOQx1sBebxVqmBuSVLF4vl0MTlVf8VdVMKlFP26L0YJl1L0af/GGrFgi5JTrum5xyuoeICvVkYfdXDGDy7p8mUdP/73QvuTJ05o39698vPzU8GgIBMjM9YnY8eoTt1HFBAYqKTLl7VyxXJtjd6iiVM+NTu0zIPxsyEs1n9O9HSgbNmyKTY2VgUKFLBrP378uGbMmKFZs2bpr7/+uu+pK2YMPKQbD5yaNWO6zpyJU+ngMnrjzUhVq17DnGAcILTC7Z9dMWRYlFq2buPgaMzVo1sXhYSU1YDIgWaHYjhXu85vIm/ydmTeeVp+8sCvrVupkFaNbHtL+5w1e/TCRzcekDewc031aFpReXJ6Knr/aUVM+kF7jp2z9R3YuabeebrmLcfo+dFqzV2zV5JUtXQBvf9suKoGF5B7djftPXZWIxZs0aptxx449oSvXnng1z6I6C2/6vnuz97S3qJlaw0dMdKhsTjSoHff1pbNm3XmTJxy5sqlMmVC1L1HT4XXqu3QOLxM//P3nW3+87xp7/1wqdymvbfRMuXA4yar1ao1a9aocePG93VcswYeAABkhP8y8MjKHD3wgLkYeNyeMw88TD3lxYoVu+t8eIvFct+DDgAAAOC/sDDXyhCmDjyOHDli5tsDAAAAcJBMXOQCAAAAHI+bsxnD9NvpAgAAAHB+VDwAAACAdCh4GIOKBwAAAADDMfAAAAAAYDimWgEAAADpMdfKEFQ8AAAAABiOigcAAACQDg8QNAYVDwAAAACGY+ABAAAAwHBMtQIAAADS4cnlxqDiAQAAAMBwVDwAAACAdCh4GIOKBwAAAADDUfEAAAAA0qPkYQgqHgAAAAAMx8ADAAAAgOGYagUAAACkw5PLjUHFAwAAAIDhqHgAAAAA6fAAQWNQ8QAAAABgOAYeAAAAAAzHVCsAAAAgHWZaGYOKBwAAAADDWaxWq9XsIDLalWtmRwAAAO5X/qdnmx2CKc7M62p2CKbwysTzbn7/66Jp7x1aJJdp7200Kh4AAAAADJeJx5oAAACA4/EAQWNQ8QAAAABgOAYeAAAAAAzHVCsAAAAgHZ5cbgwqHgAAAAAMR8UDAAAASIeChzGoeAAAAAAwHAMPAAAAAIZj4AEAAACkZzFxuw9RUVGqUaOGcuXKpQIFCqhVq1bav3+/XR+r1ar3339fQUFBypEjh+rXr6/du3fb9UlJSVHfvn2VL18++fj4qEWLFjpx4sT9BXMPGHgAAAAAWdD69evVp08fbd68WatXr9a1a9fUpEkTXb582dZn9OjRGjNmjMaPH6/o6GgFBgaqcePGunjxoq1PRESEli5dqoULF2rDhg26dOmSnnzySaWlpWVovBar1WrN0CNmAleumR0BAAC4X/mfnm12CKY4M6+r2SGYwisT3+Jo98nL/97JIBUK+Tzwa8+cOaMCBQpo/fr1euSRR2S1WhUUFKSIiAi9+eabkm5UNwICAjRq1Ci9+OKLSkxMVP78+TVnzhx16NBBknTq1CkVKVJEy5cv12OPPZYheUlUPAAAAIBMIyUlRRcuXLDbUlJS7um1iYmJkqS8efNKko4cOaLY2Fg1adLE1sfT01P16tXTxo0bJUnbtm3T1atX7foEBQWpYsWKtj4ZhYEHAAAAkI7FYt4WFRUlPz8/uy0qKupfY7Zarerfv7/q1KmjihUrSpJiY2MlSQEBAXZ9AwICbPtiY2Pl4eGhPHny3LFPRsnERS4AAADAtURGRqp///52bZ6env/6updffll//PGHNmzYcMs+yz8exW61Wm9p+6d76XO/qHgAAAAAmYSnp6d8fX3ttn8bePTt21dff/21fvjhBxUuXNjWHhgYKEm3VC7i4uJsVZDAwEClpqYqISHhjn0yCgMPAAAAIJ0scjddWa1Wvfzyy/ryyy+1bt06lShRwm5/iRIlFBgYqNWrV9vaUlNTtX79etWqVUuSVK1aNbm7u9v1iYmJ0a5du2x9MgpTrQAAAIAsqE+fPpo/f76++uor5cqVy1bZ8PPzU44cOWSxWBQREaERI0YoODhYwcHBGjFihLy9vdW5c2db3x49eui1116Tv7+/8ubNq9dff12VKlVSo0aNMjReBh4AAABAehm7tMEwkyZNkiTVr1/frn3mzJnq1q2bJGnAgAFKTk5W7969lZCQoJo1a2rVqlXKlSuXrf9HH32k7Nmzq3379kpOTlbDhg01a9Ysubm5ZWi8PMcDAABkCjzHw7Vk5ud47I0x7zke5Qo++HM8MjvWeAAAAAAwXCYeawIAAACOZ8kqc62yGCoeAAAAAAxHxQMAAABIJ4Ofm4f/R8UjA2zbGq2+vXupUf06Cq0QonVr15gdkkMtWjBPTZs0UI2wSurYro1+27bV7JAMNX3aFHVu31bhNcJUv264Ivr21tEjh80Oy3Cuep2Tt2vlfZOr/Vxz1vOd0yu7Rnatod3j2ypuztNaM6Spqpbyt+sTUshPi95ooBMzO+nUrM5aN+wJFfa3X9z7UHB+fftuE8XO7qy/ZnTS8vcek5d7xt7tx5Gc9Xwj82PgkQGSk5MUEhKitwa+Z3YoDrdyxXKNHhmlni+8pEVfLFPVqtXU+8Weijl1yuzQDLM1eos6dHpacxYs1pRpM3UtLU29evZQUlKS2aEZylWvc/J2rbwl1/y55qzne/yLtdSgUpBemLBBD7/+tdb+cUpfv9NEBfN4S5JKBOTSqsGP68CpRD0x+HvVGvC1Ri35XVeuptmO8VBwfn35diOt++OU6g9crvpvf6sp3+/T9Sx8U1BnPd8ZKas8QDCrYapVBqhTt57q1K1ndhimmDN7plq3bas2T7WTJA2IHKiNGzdo8aIFerXfayZHZ4xJU6fbfT1kWJQerRuuvXt2q1r1GiZFZTxXvc7J2/W44s81ZzzfXu5ualmzmDp+sE6/7D0tSYr64nc9WaOonm8SoqGLtuu9jmH6fvtJvTtvm+11R+Mu2R1nZNcamrxir8Z8tcvW9mfsRcckYRBnPN/IGqh44IFdTU3V3j27FV6rjl17eK3a+n3HdpOicrxLF2/8A+Tr52dyJAD+K36uOY/sbhZld8tmV72QpCup1xQeUkAWi/RYWGEdirmgpW830uGp7bVu2BN6snoRW998vl6qEZxfZy5c0ZohTfXnlPZaMegxhYcUcHQ6gFMwfeAxbtw4de3aVYsXL5YkzZkzR+XLl1fZsmX19ttv69q1uz8NMCUlRRcuXLDbUlJSHBG6y0s4n6C0tDT5+9vPl/X3z6f4+DMmReVYVqtV/xsdpbCq1RQcXMbscAD8R/xccx6XrlzTr/vj9GabUAXmyaFsFos61Cmp6qXzKzBPDuX39VKuHO7q37Ki1uw4pZbDV+vb6OOa99qjql0uQJJUIiCnJOntp0I1a91BtY5aox1Hzumbd5uoVGCuu709sjrmWhnC1IHH0KFDNXDgQF2+fFmvvvqqRo0apX79+unpp59W165d9emnn2ro0KF3PUZUVJT8/Pzstg9GRTkoA0iS5R+3frBarbe0OauoYUN08MABjfpgjNmhAMhArvxzzZn0nLBBFot0cHJ7nZ33jHo1LafFvxxW2nWrsmW7cT6/2/qXJizfo53HEjTmq11a+dsJ9WgcIknK9v/nfMaaA5r74yH9cfScIj+L1sFTieryaLBpeQFZlalrPGbNmqVZs2apTZs2+v3331WtWjXNnj1bTz/9tCSpbNmyGjBggAYPHnzHY0RGRqp///52bVY3T0Pjxg15cueRm5ub4uPj7drPnTsrf/98JkXlOFHDh+rHH9dpxuy5CggMNDscABnA1X+uOZsjpy+q6eDv5e2ZXblyuOv0+WTNevURHYu7pLMXUnT12nXtO5lo95r9J88rvOyNikdsQrIkad+Jf/ZJVOF89ne+gnPhAYLGMLXiERMTo+rVq0uSQkNDlS1bNlWpUsW2v2rVqjr1L3cR8fT0lK+vr93m6cnAwxHcPTxUrnwFbd74i1375o0bFVolzKSojGe1WjVi2BCtXbNK02bMVuHCRf79RQCyBFf9uebsklKu6fT5ZOX28VDD0EL6butxXU27rt/+jFdwQV+7vqUL+un4mRsLzI+duaRT55IUHPTPPr7664z9InQA/87UikdgYKD27NmjokWL6uDBg0pLS9OePXtUoUIFSdLu3btVoEDmX8CVdPmyjh8/bvv65IkT2rd3r/z8/FQwKMjEyIzXpWt3DXxrgMpXrKjQ0DAt+XyRYmJi1K5DR7NDM8yIoYO1Yvm3Gjtuony8fRR/5sa875y5csnLy8vk6Izjqtc5ed/gKnlLrvlzzVnPd8PQIFkkHTx1QSUDc2nYM9V18FSi5vx4SJL08Te7NSviEW3ce1o/7Y5VoyqF1LRaYT0x+HvbMT7+ZpfebldFO48laOfRc+pcr5TKFPJTl4/Wm5TVf+es5xuZn8VqNe9G1O+8846mTp2qli1bau3aterYsaPmzZunyMhIWSwWDR8+XE899ZTGjLm/+fNX7r4ePcNFb/lVz3d/9pb2Fi1ba+iIkY4NxgSLFszTrBnTdeZMnEoHl9Ebb0Y69W1lQyuE3LZ9yLAotWzdxsHROI6rXufkbc/Z877J1X6uZZbznf/p2Rl6vNYPF9P7naqpkL+3Ei6l6Ktfj2vIwt90IfmqrU+X+qXVv1UlFfL31sFTFzTi8x36butfdsfp37KiejYpqzw5PbTrWILenbdNm/bHZVicZ+Z1zbBj3YvMcr69MvFDHQ7FJZv23qUL5DDtvY1m6sAjLS1NI0eO1ObNm1WnTh29+eabWrhwoQYMGKCkpCQ1b95c48ePl4/P/c2jdPTAAwAA/HcZPfDIKhw98MgsGHjcHgOPLIaBBwAAWQ8DD9eSmQcef5o48CjlxAMP05/jAQAAAMD5MfAAAAAAYLhMXOQCAAAATMBjPAxBxQMAAACA4ah4AAAAAOnw5HJjUPEAAAAAYDgqHgAAAEA6FgoehqDiAQAAAMBwDDwAAAAAGI6pVgAAAEA6zLQyBhUPAAAAAIaj4gEAAACkR8nDEFQ8AAAAABiOgQcAAAAAwzHVCgAAAEiHJ5cbg4oHAAAAAMNR8QAAAADS4cnlxqDiAQAAAMBwVDwAAACAdCh4GIOKBwAAAADDMfAAAAAAYDimWgEAAADpsLjcGFQ8AAAAABiOigcAAABgh5KHESxWq9VqdhAZ7co1syMAYJTrzvcj65646lN0me4AV5C3wwyzQzBF0pLnzA7hjk4kpJr23oXzeJj23kZjqhUAAAAAwzHVCgAAAEiHaqsxqHgAAAAAMBwVDwAAACAdCh7GoOIBAAAAwHBUPAAAAIB0WONhDCoeAAAAAAzHwAMAAACA4ZhqBQAAAKTjqg9tNRoVDwAAAACGo+IBAAAApEfBwxBUPAAAAAAYjoEHAAAAAMMx1QoAAABIh5lWxqDiAQAAAMBwVDwAAACAdHhyuTGoeAAAAAAwHBUPAAAAIB0eIGgMKh4AAAAADMfAAwAAAIDhmGoFAAAApMdMK0NQ8QAAAABgOCoeAAAAQDoUPIxBxQMAAACA4Rh4AAAAADAcA48MtGjBPDVt0kA1wiqpY7s2+m3bVrNDMtT0aVPUuX1bhdcIU/264Yro21tHjxw2OyyHcbXzfZOz571ta7Re7dNLjR+tq7CKZfXD2jV2+9euXqXeL/TQo3UeVljFstq/b69JkRpr0oRxqlIxxG5rWK+22WE5jLNf5/9m+rQpCq0QotFRw80OxVCLF87XU62bq9ZDVVXroarq0rmDNvy83uyw/rOcXtk1untN7ZvcXmfnP6t1w5upWql8tv0+Xtk15vmHdXBqB52d/6x++7iNej5W9o7HWzawiZKWPKfmDxV1RPiZgsVi3ubMGHhkkJUrlmv0yCj1fOElLfpimapWrabeL/ZUzKlTZodmmK3RW9Sh09Oas2CxpkybqWtpaerVs4eSkpLMDs1wrni+JdfIOzk5WWVCyuqtt9+94/7QsKrqG/GagyNzvFKlg7Xmxw227fOl35gdkkO4wnV+N7t2/qEvPl+kMmVCzA7FcAUCAvVqv9c1f/ESzV+8RA/VfFivvtxHhw4dNDu0/2Ri7zpqEBqkHp+sV43+S7X291P6dtDjCsrrLUka3a2mGlcprOc+Xq+wV7/U+G9368MeD+vJGrcOLF5+soKssjo6BTgpBh4ZZM7smWrdtq3aPNVOJUuV0oDIgQosGKjFixaYHZphJk2drpat26h06WCFlC2rIcOiFBNzSnv37DY7NMO54vmWXCPvOnUfUZ9XItSwcZPb7n+yRUu9+FIfPRwe7uDIHM/NzU358uW3bXnz5jU7JIdwhev8TpIuX1bkm29o0OBh8vXzMzscw9V/tIHqPlJPxYuXUPHiJdT31X7y9vbWH7/vMDu0B+bl4aZWDxfXO59F65c9p3U49qKGL96uY3EXbVWNh0IKaN6PB/Xz7lgdP3NJM1bv186j51Q1XVVEkioVy6tXmldQrwkbzEjFVBYT/3Nmpg48YmJi9N5776lBgwYqV66cKlasqObNm2v69OlKS0szM7T7cjU1VXv37FZ4rTp27eG1auv3HdtNisrxLl28KElO/4+Vq55vV83blR0/fkyNH62jJx5roDdf76cTf/1ldkiGc/XrfMSwIXrkkXp6OLyW2aE4XFpamlYs/07JyUkKDQ0zO5wHlj2bRdndsunKVfvfo5JT0xReNkCStGnvaTWrUdRWAXmkYqBKB/lp9Y6Ttv45PNw0q1899f90s06fT3ZcAnBqpt1Od+vWrWrUqJFKlCihHDly6MCBA3r66aeVmpqq119/XdOnT9f333+vXLly3fU4KSkpSklJsWuzunnK09PTyPDtJJxPUFpamvz9/e3a/f3zKT7+jMPiMJPVatX/RkcprGo1BQeXMTscQ7nq+XbVvF1VpcqVNWzEKBUrVlxnz57VtCmT1PWZjlry1bfKnTuP2eEZxpWv8xXLv9PevXs0f9EXZofiUAcP7FeXzh2Vmpoib29vffTJBJUqXdrssB7YpSvXtHnfab31VBXtP3FepxOvqH2dkqoRnF+HYi5Ikl6bsVkTetXWoWkddfXadV23WtV70gZt2nfadpzR3Wvq1/1x+jb6uFmpmMrZ11qYxbSKR0REhPr166ft27dr48aNmj17tg4cOKCFCxfq8OHDSk5O1jvvvPOvx4mKipKfn5/d9sGoKAdkcCvLP65Sq9V6S5uziho2RAcPHNCoD8aYHYrDuOr5dtW8XU2duvXUqPFjCi4ToofDa2n8xCmSpG++WmZuYA7iatd5bEyMRo8crhEjP3DoH+4yg+LFS2jxkmWaM3+R2nXopHffflN/Hjpkdlj/SY9PfpLFIv35aSedX9hVvZ8or0U//6m069clSb2fKK+HyhTQU1GrVXvAV4qcvUVje9bSo5WDJEnNqhdRvUoF9cbMX81MA07ItIrHb7/9ps8++8z2defOnfXcc8/p9OnTCggI0OjRo9WtWzd9/PHHdz1OZGSk+vfvb9dmdXPsD808ufPIzc1N8fHxdu3nzp2Vv3++O7zKeUQNH6off1ynGbPnKiAw0OxwDOeq59tV88YNOby9VTq4jI4fO2p2KIZy1et8z57dOnf2rDq1b2NrS0tL07at0Vq4YJ6it++Um5ubiREax93DQ0WLFZMkVahYSbt37dS8uZ/pvfeHmBzZgzty+qIee2+FvD2zyzeHu2LPJ+uz/vV1LO6SvDzcNLhzNXUcvVYrfzshSdp1LEGVi+dVRIuK+uGPU6pXKUglA3wV89kzdsed/3oD/bL3tB4ftMKMtOAETBt4FChQQDExMSpZsqQk6fTp07p27Zp8fX0lScHBwTp37ty/HsfT89ZpVVeuZXy8d+Pu4aFy5Sto88Zf1LBRY1v75o0bVb9BQ8cG40BWq1VRw4dq3drVmj5rjgoXLmJ2SA7hqufbVfPGDampqTpy5E9VrVbN7FAM5arXec2HH9YXy+zvWjZoYKSKlyyp7j16Ou2g43asVquupqaaHUaGSEq5pqSUa8rt46FGVQrpnTlb5e6WTR7ubrr+jxtVpV3/u6r34dI/NGvNfrv9W8e20YBZW7R8q2tOvULGMG3g0apVK/Xq1UsffHCjrDt06FDVq1dPOXLkkCTt379fhQoVMiu8+9ala3cNfGuAylesqNDQMC35fJFiYmLUrkNHs0MzzIihg7Vi+bcaO26ifLx9FH/mxvznnLlyycvLy+TojOWK51tyjbyTki7rr+N//8N68uQJ7d+3V75+fipYMEiJiecVGxOjuLg4SdLRI0ckSf758ilfvvymxGyEMR+M0iP1H1XBggV17tw5TZsySZcvXVLzlq3NDs1wrnCd/5OPT85b1ufl8PZWbr/cTr1u75OxY1Sn7iMKCAxU0uXLWrliubZGb9HEKZ+aHdp/0qhKIVkkHTiVqFKBvhrxbA0dPHlBn607oGtpVv20K0bDn62h5NRrOn7mkupWCFTneqX11uwtkqTT55Nvu6D8RPwlHYu75OBs4ExMG3gMGzZMMTExat68udLS0hQeHq65c+fa9lssFkVFmbNW40E83vQJJZ5P0NRJE3XmTJxKB5fRhMlTFRSUdQZP9+vmrSV7dOti1z5kWJRatm5zu5c4DVc835Jr5L1n1y71fK6r7esPR4+UJDVv2UpDho/U+h/WadA7b9v2v/XGjameL77UR7369HVssAY6fTpWkQP6KyHhvPLkzaPKlavos/mLnepc34krXOe44ezZeA18a4DOnIlTzly5VKZMiCZO+VThtbL2wzJ9vT005OlqKuTvo4RLKVq2+ajen79N19JulDm6fvSjhjxdTTNfrac8OT11PP6S3l+wTdO+32dy5JmHEy/pMpXFarWa+lSYK1eu6Nq1a8qZM2fGHdPBU60AOM51c39kmcbZ7+1+J/zjD1eQt8MMs0MwRdKS58wO4Y7OJ5v3WIfcOZx3aqNpFY+bnH1KDgAAAIBMMPAAAAAAMhNXrTIbzdQnlwMAAABwDVQ8AAAAgHRYX2YMKh4AAAAADEfFAwAAAEiHgocxqHgAAAAAMBwDDwAAAACGY6oVAAAAkB5zrQxBxQMAAACA4ah4AAAAAOnwAEFjUPEAAAAAYDgGHgAAAAAMx1QrAAAAIB2eXG4MKh4AAAAADEfFAwAAAEiHgocxqHgAAAAAMBwDDwAAAACGY6oVAAAAkB5zrQxBxQMAAACA4ah4AAAAAOnw5HJjUPEAAAAAsqiJEyeqRIkS8vLyUrVq1fTzzz+bHdIdMfAAAAAA0rFYzNvux6JFixQREaGBAwdq+/btqlu3rpo2barjx48b8435jyxWq9VqdhAZ7co1syMAYJTrzvcj6564atmfpwfDFeTtMMPsEEyRtOQ5s0O4IzN/l/S6j4UQNWvWVNWqVTVp0iRbW7ly5dSqVStFRUUZEN1/Q8UDAAAAyCRSUlJ04cIFuy0lJeWWfqmpqdq2bZuaNGli196kSRNt3LjRUeHeHysyzJUrV6yDBg2yXrlyxexQHIq8ydsVkDd5uwLyJm+Yb9CgQVZJdtugQYNu6Xfy5EmrJOsvv/xi1z58+HBrmTJlHBTt/XHKqVZmuXDhgvz8/JSYmChfX1+zw3EY8iZvV0De5O0KyJu8Yb6UlJRbKhyenp7y9PS0azt16pQKFSqkjRs3Kjw83NY+fPhwzZkzR/v27XNIvPeD2+kCAAAAmcTtBhm3ky9fPrm5uSk2NtauPS4uTgEBAUaF95+wxgMAAADIYjw8PFStWjWtXr3arn316tWqVauWSVHdHRUPAAAAIAvq37+/unTpourVqys8PFxTp07V8ePH1atXL7NDuy0GHhnI09NTgwYNuqfymDMhb/J2BeRN3q6AvMkbWUuHDh109uxZDRkyRDExMapYsaKWL1+uYsWKmR3abbG4HAAAAIDhWOMBAAAAwHAMPAAAAAAYjoEHAAAAAMMx8AAAAABgOAYeGWjixIkqUaKEvLy8VK1aNf38889mh2Son376Sc2bN1dQUJAsFouWLVtmdkgOERUVpRo1aihXrlwqUKCAWrVqpf3795sdluEmTZqkypUry9fXV76+vgoPD9eKFSvMDsvhoqKiZLFYFBERYXYohnr//fdlsVjstsDAQLPDcoiTJ0/qmWeekb+/v7y9vVWlShVt27bN7LAMVbx48VvOt8ViUZ8+fcwOzVDXrl3TO++8oxIlSihHjhwqWbKkhgwZouvXr5sdmuEuXryoiIgIFStWTDly5FCtWrUUHR1tdlhwcgw8MsiiRYsUERGhgQMHavv27apbt66aNm2q48ePmx2aYS5fvqzQ0FCNHz/e7FAcav369erTp482b96s1atX69q1a2rSpIkuX75sdmiGKly4sEaOHKmtW7dq69atatCggVq2bKndu3ebHZrDREdHa+rUqapcubLZoThEhQoVFBMTY9t27txpdkiGS0hIUO3ateXu7q4VK1Zoz549+vDDD5U7d26zQzNUdHS03bm++UCydu3amRyZsUaNGqXJkydr/Pjx2rt3r0aPHq0PPvhA48aNMzs0wz3//PNavXq15syZo507d6pJkyZq1KiRTp48aXZocGLcTjeD1KxZU1WrVtWkSZNsbeXKlVOrVq0UFRVlYmSOYbFYtHTpUrVq1crsUBzuzJkzKlCggNavX69HHnnE7HAcKm/evPrggw/Uo0cPs0Mx3KVLl1S1alVNnDhRw4YNU5UqVTR27FizwzLM+++/r2XLlmnHjh1mh+JQb731ln755Renr1j/m4iICH377bc6ePCgLBaL2eEY5sknn1RAQICmT59ua2vbtq28vb01Z84cEyMzVnJysnLlyqWvvvpKzZo1s7VXqVJF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V67kiy++mLTP559/npCQEPz9/cnJyeH333+f9PyfL7WamJhg165dREdH4+3tTXh4OEVFRQAsXrwYgMTERNzc3Ljttttcr6usrCQuLg4fHx9iY2N55ZVXJo3T0tJCYmIiPj4+pKSk0NraOo1HTkRE5jrNeIiI/B/4+voyNjYGQE9PD4cPH6a2thZ3d3cA7rrrLgIDA6mvrycgIICysjJSU1Pp7u4mMDCQw4cPU1BQwL59+7j11luprq5m7969REZG/u2YTz31FPv37+fFF19k2bJl/PDDD3z11VfAhfJw00030djYSHx8PF5eXgDs37+fgoICSkpKSExMpLW1lQcffBCbzYbT6WRkZIS7776blStXcvDgQXp7e8nLyzP56ImIyFyi4iEi8g+1tLRQU1NDamoqAH/88QfV1dUsWLAAgBMnTtDe3s7AwADe3t4A7N69m7q6Ot5++23Wr1/PSy+9RHZ2Nrm5uQAUFhbS2Ng4ZdbjonPnzlFcXExJSQlOpxOAqKgoli1bBuAaOygoiNDQUNfrtm/fzgsvvMDatWuBCzMjnZ2dlJWV4XQ6eeONNxgfH6eiooL58+cTHx/P999/z8MPPzzdh01EROYoXWolInIZ3nvvPfz8/PDx8cHhcLB8+XJefvllACIiIlxv/AFOnz7N+fPnCQoKws/Pz3Xr7e3lzJkzAHR1deFwOCaN8ef7/66rq4vR0VFX2bkUP//8M2fPniUnJ2dSjsLCwkk5brjhBubPn39JOURERC6XZjxERC7D7bffTmlpKZ6enoSFhU1aQG6z2SZtOzExgd1u5+TJk1P2c+WVV/6j8X19fS/7NRMTE8CFy61uvvnmSc9dvCTMMIx/lEdERORSqXiIiFwGm81GdHT0JW2blJTEjz/+iIeHB9dcc81fbhMXF0dzczP333+/67Hm5ua/3eeSJUvw9fXlgw8+cF2e9e8urukYHx93PRYSEsLChQv59ttvyczM/Mv9XnfddVRXV/Pbb7+5ys1/yiEiInK5dKmViIhJ7rjjDhwOB2vWrKGhoYG+vj4+/vhjnnnmGT777DMA8vLyqKiooKKigu7ubgoKCujo6Pjbffr4+JCfn88TTzzB66+/zpkzZ2hububAgQMABAcH4+vry7Fjx/jpp58YGhoCLnwp4c6dOykuLqa7u5v29nYqKyvZs2cPABkZGcybN4+cnBw6Ozupr69n9+7dJh8hERGZS1Q8RERM4ubmRn19PcuXLyc7O5trr72WdevW0dfXR0hICADp6els27aN/Px8kpOT6e/v/68Lup999lkef/xxtm3bRlxcHOnp6QwMDADg4eHB3r17KSsrIywsjNWrVwOQm5vLq6++SlVVFQkJCaxYsYKqqirXx+/6+flx9OhROjs7SUxMZOvWrezatcvEoyMiInONm6ELe0VERERExGSa8RAREREREdOpeIiIiIiIiOlUPERERERExHQqHiIiIiIiYjoVDxERERERMZ2Kh4iIiIiImE7FQ0RERERETKfiISIiIiIiplPxEBERERER06l4iIiIiIiI6VQ8RERERETEdP8Cgyk6Ui+/YX4AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Define MNIST Dataset class\n",
    "class MNISTDataset(Dataset):\n",
    "    def __init__(self, images, labels, transform=None):\n",
    "        self.images = images.astype(np.float32) / 255.0  # Normalize to [0, 1]\n",
    "        self.labels = labels\n",
    "        self.transform = transform\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.labels)\n",
    "\n",
    "    def __getitem__(self, idx):\n",
    "        image = self.images[idx]\n",
    "        # Add channel dimension (28x28 -> 1x28x28)\n",
    "        image = np.expand_dims(image, axis=0)\n",
    "        label = self.labels[idx]\n",
    "\n",
    "        if self.transform:\n",
    "            image = self.transform(image)\n",
    "\n",
    "        return image, label\n",
    "\n",
    "# Define CNN model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Build Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "class CNN(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(CNN, self).__init__()\n",
    "        self.conv1 = nn.Sequential(\n",
    "            nn.Conv2d(1, 32, kernel_size=3, padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.MaxPool2d(kernel_size=2)\n",
    "        )\n",
    "        self.conv2 = nn.Sequential(\n",
    "            nn.Conv2d(32, 64, kernel_size=3, padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.MaxPool2d(kernel_size=2)\n",
    "        )\n",
    "        self.fc1 = nn.Linear(64 * 7 * 7, 128)\n",
    "        self.fc2 = nn.Linear(128, 10)\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.conv1(x)\n",
    "        x = self.conv2(x)\n",
    "        x = x.view(x.size(0), -1)  # Flatten\n",
    "        x = torch.relu(self.fc1(x))\n",
    "        x = self.fc2(x)\n",
    "        return x\n",
    "\n",
    "\n",
    "# Create datasets and dataloaders\n",
    "train_dataset = MNISTDataset(X_train, y_train)\n",
    "test_dataset = MNISTDataset(X_test, y_test)\n",
    "\n",
    "train_loader = DataLoader(train_dataset, batch_size=128, shuffle=True)\n",
    "test_loader = DataLoader(test_dataset, batch_size=128, shuffle=False)\n",
    "\n",
    "# Initialize model, loss function, and optimizer\n",
    "model = CNN().to(device)\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "optimizer = optim.Adam(model.parameters(), lr=0.001)\n",
    "\n",
    "# Training parameters\n",
    "num_epochs = 5\n",
    "train_losses = []\n",
    "test_accuracies = []\n",
    "\n",
    "# Training loop\n",
    "print(f\"Training on {device}\")\n",
    "for epoch in range(num_epochs):\n",
    "    model.train()\n",
    "    running_loss = 0.0\n",
    "    start_time = time.time()\n",
    "\n",
    "    for i, (images, labels) in enumerate(train_loader):\n",
    "        images, labels = images.to(device), labels.to(device)\n",
    "\n",
    "        # Forward pass\n",
    "        outputs = model(images)\n",
    "        loss = criterion(outputs, labels)\n",
    "\n",
    "        # Backward and optimize\n",
    "        optimizer.zero_grad()\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "\n",
    "        running_loss += loss.item()\n",
    "\n",
    "        if (i+1) % 100 == 0:\n",
    "            print(\n",
    "                f'Epoch [{epoch+1}/{num_epochs}], Step [{i+1}/{len(train_loader)}], Loss: {loss.item():.4f}')\n",
    "\n",
    "    epoch_loss = running_loss / len(train_loader)\n",
    "    train_losses.append(epoch_loss)\n",
    "\n",
    "    # Evaluate on test set\n",
    "    model.eval()\n",
    "    with torch.no_grad():\n",
    "        correct = 0\n",
    "        total = 0\n",
    "        for images, labels in test_loader:\n",
    "            images, labels = images.to(device), labels.to(device)\n",
    "            outputs = model(images)\n",
    "            _, predicted = torch.max(outputs.data, 1)\n",
    "            total += labels.size(0)\n",
    "            correct += (predicted == labels).sum().item()\n",
    "\n",
    "        accuracy = 100 * correct / total\n",
    "        test_accuracies.append(accuracy)\n",
    "\n",
    "    epoch_time = time.time() - start_time\n",
    "    print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {epoch_loss:.4f}, Test Accuracy: {accuracy:.2f}%, Time: {epoch_time:.2f}s')\n",
    "\n",
    "print(\"Training complete!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Evaluate Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.figure(figsize=(12, 5))\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.plot(train_losses)\n",
    "plt.title('Training Loss')\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Loss')\n",
    "\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.plot(test_accuracies)\n",
    "plt.title('Test Accuracy')\n",
    "plt.xlabel('Epoch')\n",
    "plt.ylabel('Accuracy (%)')\n",
    "plt.show()\n",
    "\n",
    "# Evaluate final model\n",
    "model.eval()\n",
    "y_pred = []\n",
    "y_true = []\n",
    "\n",
    "with torch.no_grad():\n",
    "    for images, labels in test_loader:\n",
    "        images, labels = images.to(device), labels.to(device)\n",
    "        outputs = model(images)\n",
    "        _, predicted = torch.max(outputs.data, 1)\n",
    "\n",
    "        y_pred.extend(predicted.cpu().numpy())\n",
    "        y_true.extend(labels.cpu().numpy())\n",
    "\n",
    "# Print classification report and confusion matrix\n",
    "print(\"Classification Report:\")\n",
    "print(classification_report(y_true, y_pred))\n",
    "\n",
    "# Plot confusion matrix\n",
    "cm = confusion_matrix(y_true, y_pred)\n",
    "plt.figure(figsize=(10, 8))\n",
    "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')\n",
    "plt.xlabel('Predicted')\n",
    "plt.ylabel('True')\n",
    "plt.title('Confusion Matrix')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Pytorch",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
